package persistence.dao;

import org.hibernate.Session;

import persistence.model.Personne;
import persistence.model.Projet;
import persistence.model.Role;
import presentation.beans.ProjetBean;
import util.HibernateUtil;

public class RoleDAO {

	/**
	 * La prŽsence d'un constructeur privŽ supprime le constructeur public par
	 * dŽfaut.
	 */
	private RoleDAO() {

	}

	private static RoleDAO INSTANCE = null;

	/**
	 * Le mot-clŽ synchronized sur la mŽthode de crŽation emp�che toute
	 * instanciation multiple même par différents threads. Retourne l'instance
	 * du singleton.
	 */
	public synchronized static RoleDAO getInstance() {
		if (INSTANCE == null) {
			INSTANCE = new RoleDAO();
		}
		return INSTANCE;
	}

	public Role getCP() {
		Role role = new Role();
		final Session session = HibernateUtil.getSessionFactory()
				.getCurrentSession();
		session.beginTransaction();
		role = (Role) session
				.createQuery("from Role where typeRole = 0").uniqueResult();
		session.getTransaction().commit();
		return role;
	}
	
	public Role getConsultant() {
		Role role = new Role();
		final Session session = HibernateUtil.getSessionFactory()
				.getCurrentSession();
		session.beginTransaction();
		role = (Role) session
				.createQuery("from Role where typeRole = 1").uniqueResult();
		session.getTransaction().commit();
		return role;
	}

}
